# _*_ coding: utf-8 _*_
# @Time:2024/5/17 14:09
# @Author:10917
# @File:custom_filters.py
import django_filters

from sers.models import Family


class FamilyFilter(django_filters.FilterSet):
    """
    自定义家庭表的过滤查询器
    常用的lookup_expr参数包括：
        exact: 等于
        iexact: 不区分大小写的等于
        contains: 包含
        icontains: 不区分大小写的包含
        gt: 大于
        lt: 小于
        gte: 大于等于
        lte: 小于等于
        in: 在列表中
        startswith: 以指定值开头
        endswith: 以指定值结尾
        range: 在范围内
        isnull: 是否为NULL
    """
    # 定义需要过滤查询的字段  age__gte可以自定义，传参时就是age__gte = 16，查询年龄 > 16的数据
    age__gte = django_filters.NumberFilter(field_name='age', lookup_expr='gte')

    # 定义对应的模型类与需要过滤的字段
    class Meta:
        model = Family
        fields = ['age', ]
